Communication systems employing data packet communication via a data communication network, for example the Internet, are well known. For example, Voice-over-Internet-Protocol (VoIP) has been known for many years and is employed in contemporary communication products such as Skype telephonic and video-conferencing services; “Skype” is a registered trademark. When a plurality of persons are employing VoIP and associated video conferencing products, it is found desirable that voice and video information are communicated without gross delay, otherwise maintaining a conversation or video conference becomes difficult for the participating persons. However, the Internet was conceived to be a data packet communicating network, wherein data packets can potentially take a multiplicity of routes within the Internet from a sending device to a receiving device. As a result, it is often difficult when using the Internet to ensure prompt delivery of a data packet from the sending device to the receiving device, resulting in potential latency being experienced by users. Aforementioned communication issues are addressed in a known document “Real-Time Messaging Protocol (RTMP) specification, Adobe Developer Connection”, URL: http://www.adobe.com/devnet/rtmp.html.
A problem encountered with known real-time communication systems, and associated methods employing communication networks such as the Internet, is that the methods do not adequately integrate video and audio codecs into their execution. Devices including such codecs are often mutually different in respect of their processing power, which affects their rate of processing received data and also generating data for transmission. Moreover, infrastructures employed for implementing, for example, the Internet can vary considerably for various individual client devices, for example depending upon a geographical location of the individual client devices. When executing audio conferencing and/or video conferencing between a plurality of parties, audio delays of merely a couple of seconds to words at an end of a sentence can potentially render the sentence potentially unintelligible to parties participating to the conferencing.
Thus, known real-time communication systems have to take into account properties of communication infrastructures, for example communication networks, employed to convey data packets; the infrastructures can vary considerably for various individual client devices. For example, it is desirable that audio information transmitted between parties, for example their client devices, is conveyed with a delay not exceeding a few ten's of milliseconds. Such delay of a few ten's of milliseconds is usually achievable, provided that video information is not concurrently also transmitted. In comparison to audio information pertaining to a given period of time, corresponding video information pertaining to the same given period of time results in generation of data which is typically at least an order of magnitude greater in size in comparison to that of the audio information; however, a ratio of size of audio data to corresponding video data will depend upon quality criteria pertaining to the video information and the audio information, for example video pixel field resolution and video frame update rate.
From the foregoing, it will be appreciated that known systems for communicating audio and video information between a plurality of parties, for example in a video conferencing situation, via a communication network such as the Internet, are not optimal in their manner of operation, especially when parties employ mutually different devices with associated mutually different data processing characteristics.
In this disclosure, acronyms and definitions are employed as provided in Table 1.
TABLE 1Acronyms and definitionsAbbreviation or acronym DefinitionACKThis fundamental technique requires a receiver torespond with an acknowledgment message as itreceives given dataCPUCentral Processing UnitFrame Rate“Frame frequency”, namely a frequency rate atwhich an imaging device produces uniqueconsecutive images, referred to image “frames”;“frames” in this context are not to be confused withnetwork packets. Moreover, there are alsomentioned “audio frames” which include somepredetermined sequence of audio sample dataMSSMaximum Segment Size of a communicationprotocolMTUMaximum Transmission Unit of a communicationprotocolNICNetwork Interface Controller, namely “networkinterface card”Packet RateA frequency at which packets of data can bedelivered via a network; in an event that packetreceipt acknowledgements are needed, suchfrequency is generally decreasedRTMPReal-Time Messaging ProtocolTCPTransmission Control Protocol of Internet protocolsuiteUDPUser Datagram Protocol of Internet protocol suiteQoSQuality of service is an ability to provide differentpriorities to different applications, users, or dataflows, or to guarantee a certain level of performanceto a data flowTXData being transmittedRXData being receivedtime-criticalA data which become useless in period of time afterexistence.